package com.offcn.seckill.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.offcn.common.entity.PageResult;
import com.offcn.seckill.pojo.SeckillGoods;

import java.util.List;


/**
 * 秒杀商品业务层接口
 *
 * @author 秋林
 * @date 2022/10/18 16:54:52
 */
public interface SeckillGoodsService extends IService<SeckillGoods> {

    /**
     * SeckillGoods多条件分页查询
     *
     * @param seckillGoods 秒杀商品
     * @param page         当前页
     * @param size         每页显示条数
     * @return {@link PageResult}<{@link SeckillGoods}>
     */
    PageResult<SeckillGoods> findPage(SeckillGoods seckillGoods, int page, int size);

    /**
     * SeckillGoods分页查询
     *
     * @param page 当前页
     * @param size 每页显示条数
     * @return {@link PageResult}<{@link SeckillGoods}>
     */
    PageResult<SeckillGoods> findPage(int page, int size);

    /**
     * SeckillGoods多条件搜索方法
     *
     * @param seckillGoods 秒杀商品
     * @return {@link List}<{@link SeckillGoods}>
     */
    List<SeckillGoods> findList(SeckillGoods seckillGoods);

    /**
     * 删除
     * 删除SeckillGoods
     *
     * @param id id
     */
    void delete(Long id);

    /**
     * 修改SeckillGoods数据
     *
     * @param seckillGoods 秒杀商品
     */
    void update(SeckillGoods seckillGoods);

    /**
     * 新增SeckillGoods
     *
     * @param seckillGoods 秒杀商品
     */
    void add(SeckillGoods seckillGoods);

    /**
     * 根据ID查询SeckillGoods
     *
     * @param id id
     * @return {@link SeckillGoods}
     */
    SeckillGoods findById(Long id);

    /**
     * 查询所有SeckillGoods
     *
     * @return {@link List}<{@link SeckillGoods}>
     */
    List<SeckillGoods> findAll();


    /**
     * 获取指定时间对应的秒杀商品列表
     *
     * @return {@link List}<{@link SeckillGoods}>
     */
    List<SeckillGoods> list(String time);

    /**
     * 根据ID查询商品详情
     *
     * @param time 时间
     * @param id   id
     * @return {@link SeckillGoods}
     */
    SeckillGoods one(String time ,Long id);

}
